package pua.uniandes.interfaz;

import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JLabel;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

public class PanelGrafica extends JFrame{


    private DefaultCategoryDataset dataset;
    private String nombreMision;
    private int tiempoMision;

    public PanelGrafica(String name, int time){
        nombreMision=name;
        tiempoMision=time;
        setSize(600,600);
        dataset= new DefaultCategoryDataset();
        setLocation(766, 75);
        setTitle("Datos de la misión: "+nombreMision);
    }

    public void actualizarPuntos (double altura, double tiempo){
            dataset.setValue(altura, "Altura", tiempo+"");
    }

    public void pintarGrafica(ArrayList<double[]> tramasGuardadas){
        double tiempoGap=tiempoMision/((double)tramasGuardadas.size());
        for (int i = 0; i < tramasGuardadas.size(); i++) {
            double[] ds = tramasGuardadas.get(i);
            actualizarPuntos(ds[3], tiempoGap*(i+1));
        }
        try{
               JFreeChart diagrama=ChartFactory.createLineChart("Altura vs Tiempo","Tiempo", "Altura", dataset, PlotOrientation.VERTICAL, true, false, false);
               this.add(new ChartPanel(diagrama));
            }
            catch(Exception e){
                e.printStackTrace();
            }
    }

//    public static void main(String[] args)
//    {
//            PanelGrafica panel=new PanelGrafica("Apollo 12",15);
//            panel.setVisible(true);
//    }
}
